home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / Found / FWStream / SLBufSin.xih < prev    next >
Encoding:
Text File  |  1996-09-16  |  17.2 KB  |  528 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: SLBufSin.xih.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxih.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *     File:        SLBufSin.idl
  13.  * 
  14.  *     Contains:    Interface for abstract random access sink class
  15.  * 
  16.  *     Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  17.  * 
  18.  */
  19.  
  20.  
  21. #ifndef SOM_FW_OBufferedSink_xih
  22. #define SOM_FW_OBufferedSink_xih
  23.  
  24. #include <somcls.xh>
  25. #include <somcm.xh>
  26.  
  27. /*
  28.  * Passthru lines: File: "C.xih", "before"
  29.  */
  30.  
  31.  
  32. #ifndef SOM_FW_OBufferedSink_xh
  33. #include <SLBufSin.xh>
  34. #endif
  35.  
  36. /*
  37.  * Set the scope of methods functions
  38.  */
  39. #ifndef SOM_Scope
  40. #define SOM_Scope extern "C"
  41. #endif
  42.  
  43. #define FW_OBufferedSink_MaxNoMethods 3
  44.  
  45. /*
  46.  * -- Instance Data
  47.  */
  48.  
  49. /*
  50.  * -- Use best possible alignment for instance data slice.
  51.  */
  52. #if PRAGMA_ALIGN_SUPPORTED
  53. #  pragma options align=power
  54. #endif
  55. typedef struct FW_OBufferedSinkData {
  56.     FW_ORandomAccessSink* fWrappedSink;
  57.     char* fBuffer;
  58.     long fCapacity;
  59.     long fInitialPosition;
  60.     long fValidBytes;
  61.     long fBytesWritten;
  62.     long fType;
  63. } FW_OBufferedSinkData;
  64. #if PRAGMA_ALIGN_SUPPORTED
  65. #  pragma options align=reset
  66. #endif
  67.  
  68. /*
  69.  * -- Getdata Macro
  70.  */
  71.  
  72. /*
  73.  * -- This emitter treats Data Tokens as Thunks by default.
  74.  * -- Use the sc modifier "nothunks" to override this default.
  75.  */
  76. SOMEXTERN typedef FW_OBufferedSinkData* (* SOMLINK somTD_FW_OBufferedSink_DataThunk)(void*);
  77. #define FW_OBufferedSinkGetData(somSelf) \
  78.    (((somTD_FW_OBufferedSink_DataThunk)(FW_OBufferedSinkClassData.instanceDataToken))(somSelf))
  79.  
  80. /*
  81.  * -- Instance Data Access Macros for use in Method Procedures
  82.  */
  83. #ifdef VARIABLE_MACROS
  84.   #define _fWrappedSink (somThis->fWrappedSink)
  85.   #define _fBuffer (somThis->fBuffer)
  86.   #define _fCapacity (somThis->fCapacity)
  87.   #define _fInitialPosition (somThis->fInitialPosition)
  88.   #define _fValidBytes (somThis->fValidBytes)
  89.   #define _fBytesWritten (somThis->fBytesWritten)
  90.   #define _fType (somThis->fType)
  91. #endif
  92.  
  93.  
  94. /*
  95.  * Trace/Debug macro
  96.  */
  97. #ifndef FW_OBufferedSinkMethodDebug
  98. #define FW_OBufferedSinkMethodDebug(c,m) SOMMethodDebug(c,m)
  99. #endif
  100.  
  101. /*
  102.  * -- Method Macros for use in Method Procedures
  103.  */
  104. #ifdef METHOD_MACROS
  105.   #define _GetLength somSelf->GetLength
  106.   #define _SetLength somSelf->SetLength
  107.   #define _GetPosition somSelf->GetPosition
  108.   #define _SetPosition somSelf->SetPosition
  109.   #define _GetReadableBytes somSelf->GetReadableBytes
  110.   #define _GetReadableBytes somSelf->GetReadableBytes
  111.   #define _Read somSelf->Read
  112.   #define _GetWritableBytes somSelf->GetWritableBytes
  113.   #define _Write somSelf->Write
  114.   #define _somInit somSelf->somInit
  115.   #define _somUninit somSelf->somUninit
  116.   #define _somInit somSelf->somInit
  117.   #define _somUninit somSelf->somUninit
  118.   #define _somDuplicateReference somSelf->somDuplicateReference
  119.   #define _somCompareReference somSelf->somCompareReference
  120.   #define _somRelease somSelf->somRelease
  121.   #define _somFree somSelf->somFree
  122.   #define _somCanDelete somSelf->somCanDelete
  123.   #define _somGetClass somSelf->somGetClass
  124.   #define _somGetClassName somSelf->somGetClassName
  125.   #define _somGetSize somSelf->somGetSize
  126.   #define _somIsA somSelf->somIsA
  127.   #define _somRespondsTo somSelf->somRespondsTo
  128.   #define _somIsInstanceOf somSelf->somIsInstanceOf
  129.   #define _somDispatch somSelf->somDispatch
  130.   #define _somClassDispatch somSelf->somClassDispatch
  131.   #define _somCastObj somSelf->somCastObj
  132.   #define _somResetObj somSelf->somResetObj
  133.   #define _somPrintSelf somSelf->somPrintSelf
  134.   #define _somDumpSelf somSelf->somDumpSelf
  135.   #define _somDumpSelfInt somSelf->somDumpSelfInt
  136.   #define _InitFromSink somSelf->InitFromSink
  137.   #define _GetORandomAccessSink somSelf->GetORandomAccessSink
  138.   #define _Flush somSelf->Flush
  139.   #define _somInit somSelf->somInit
  140.   #define _somUninit somSelf->somUninit
  141.   #define _GetReadableBytes somSelf->GetReadableBytes
  142.   #define _Read somSelf->Read
  143.   #define _GetWritableBytes somSelf->GetWritableBytes
  144.   #define _Write somSelf->Write
  145.   #define _GetLength somSelf->GetLength
  146.   #define _SetLength somSelf->SetLength
  147.   #define _GetPosition somSelf->GetPosition
  148.   #define _SetPosition somSelf->SetPosition
  149. #endif
  150.  
  151.  
  152. /*
  153.  * Introduced methods
  154.  */
  155.  
  156. /* New Method: InitFromSink */
  157. SOM_Scope void  SOMLINK FW_OBufferedSink__InitFromSink(FW_OBufferedSink *somSelf, Environment *ev,
  158.         FW_ORandomAccessSink* aSink,
  159.         long bufferCapacity);
  160.  
  161. /* New Method: GetORandomAccessSink */
  162. SOM_Scope FW_ORandomAccessSink*  SOMLINK FW_OBufferedSink__GetORandomAccessSink(FW_OBufferedSink *somSelf, Environment *ev);
  163.  
  164. /* New Method: Flush */
  165. SOM_Scope void  SOMLINK FW_OBufferedSink__Flush(FW_OBufferedSink *somSelf, Environment *ev);
  166.  
  167. /*
  168.  * Overridden methods
  169.  */
  170.  
  171. /* Overridden method: somInit */
  172. SOM_Scope void  SOMLINK FW_OBufferedSink__somInit(FW_OBufferedSink *somSelf);
  173. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBufferedSink_somInit)(FW_OBufferedSink *somSelf);
  174. inline void  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_somInit(FW_OBufferedSink *somSelf)
  175. {
  176.   (void)         (somSelf);
  177. }
  178. #define FW_OBufferedSink_parents_somInit(arg0) \
  179.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_somInit(arg0)
  180.  
  181. /* Overridden method: somUninit */
  182. SOM_Scope void  SOMLINK FW_OBufferedSink__somUninit(FW_OBufferedSink *somSelf);
  183. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBufferedSink_somUninit)(FW_OBufferedSink *somSelf);
  184. inline void  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_somUninit(FW_OBufferedSink *somSelf)
  185. {
  186.   (void)         (somSelf);
  187. }
  188. #define FW_OBufferedSink_parents_somUninit(arg0) \
  189.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_somUninit(arg0)
  190.  
  191. /* Overridden method: GetReadableBytes */
  192. SOM_Scope long  SOMLINK FW_OBufferedSink__GetReadableBytes(FW_OBufferedSink *somSelf, Environment *ev);
  193. SOMEXTERN typedef long   (* SOMLINK somTD_xih_FW_OBufferedSink_GetReadableBytes)(FW_OBufferedSink *somSelf, Environment *ev);
  194. inline long  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_GetReadableBytes(FW_OBufferedSink *somSelf, Environment *ev)
  195. {
  196. #ifdef SOMCHKEXCEPT
  197.   long __somRetVal =   ((somTD_xih_FW_OBufferedSink_GetReadableBytes)
  198.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.GetReadableBytes))
  199.         (somSelf,ev);
  200.   SOMCHKEXCEPT;
  201.   return __somRetVal;
  202. #else
  203.   return  ((somTD_xih_FW_OBufferedSink_GetReadableBytes)
  204.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.GetReadableBytes))
  205.         (somSelf,ev);
  206. #endif
  207. }
  208. #define FW_OBufferedSink_parents_GetReadableBytes(arg0,arg1) \
  209.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_GetReadableBytes(arg0,arg1)
  210.  
  211. /* Overridden method: Read */
  212. SOM_Scope void  SOMLINK FW_OBufferedSink__Read(FW_OBufferedSink *somSelf, Environment *ev,
  213.         void* destination,
  214.         long count);
  215. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBufferedSink_Read)(FW_OBufferedSink *somSelf, Environment *ev,
  216.         void* destination,
  217.         long count);
  218. inline void  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_Read(FW_OBufferedSink *somSelf, Environment *ev,
  219.     void* destination,
  220.     long count)
  221. {
  222.   ((somTD_xih_FW_OBufferedSink_Read)
  223.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.Read))
  224.         (somSelf,ev,destination,count);
  225. #ifdef SOMCHKEXCEPT
  226.   SOMCHKEXCEPT;
  227. #endif
  228. }
  229. #define FW_OBufferedSink_parents_Read(arg0,arg1,arg2,arg3) \
  230.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_Read(arg0,arg1,arg2,arg3)
  231.  
  232. /* Overridden method: GetWritableBytes */
  233. SOM_Scope long  SOMLINK FW_OBufferedSink__GetWritableBytes(FW_OBufferedSink *somSelf, Environment *ev);
  234. SOMEXTERN typedef long   (* SOMLINK somTD_xih_FW_OBufferedSink_GetWritableBytes)(FW_OBufferedSink *somSelf, Environment *ev);
  235. inline long  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_GetWritableBytes(FW_OBufferedSink *somSelf, Environment *ev)
  236. {
  237. #ifdef SOMCHKEXCEPT
  238.   long __somRetVal =   ((somTD_xih_FW_OBufferedSink_GetWritableBytes)
  239.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.GetWritableBytes))
  240.         (somSelf,ev);
  241.   SOMCHKEXCEPT;
  242.   return __somRetVal;
  243. #else
  244.   return  ((somTD_xih_FW_OBufferedSink_GetWritableBytes)
  245.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.GetWritableBytes))
  246.         (somSelf,ev);
  247. #endif
  248. }
  249. #define FW_OBufferedSink_parents_GetWritableBytes(arg0,arg1) \
  250.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_GetWritableBytes(arg0,arg1)
  251.  
  252. /* Overridden method: Write */
  253. SOM_Scope void  SOMLINK FW_OBufferedSink__Write(FW_OBufferedSink *somSelf, Environment *ev,
  254.         void* source,
  255.         long count);
  256. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBufferedSink_Write)(FW_OBufferedSink *somSelf, Environment *ev,
  257.         void* source,
  258.         long count);
  259. inline void  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_Write(FW_OBufferedSink *somSelf, Environment *ev,
  260.     void* source,
  261.     long count)
  262. {
  263.   ((somTD_xih_FW_OBufferedSink_Write)
  264.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.Write))
  265.         (somSelf,ev,source,count);
  266. #ifdef SOMCHKEXCEPT
  267.   SOMCHKEXCEPT;
  268. #endif
  269. }
  270. #define FW_OBufferedSink_parents_Write(arg0,arg1,arg2,arg3) \
  271.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_Write(arg0,arg1,arg2,arg3)
  272.  
  273. /* Overridden method: GetLength */
  274. SOM_Scope long  SOMLINK FW_OBufferedSink__GetLength(FW_OBufferedSink *somSelf, Environment *ev);
  275. SOMEXTERN typedef long   (* SOMLINK somTD_xih_FW_OBufferedSink_GetLength)(FW_OBufferedSink *somSelf, Environment *ev);
  276. inline long  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_GetLength(FW_OBufferedSink *somSelf, Environment *ev)
  277. {
  278. #ifdef SOMCHKEXCEPT
  279.   long __somRetVal =   ((somTD_xih_FW_OBufferedSink_GetLength)
  280.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.GetLength))
  281.         (somSelf,ev);
  282.   SOMCHKEXCEPT;
  283.   return __somRetVal;
  284. #else
  285.   return  ((somTD_xih_FW_OBufferedSink_GetLength)
  286.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.GetLength))
  287.         (somSelf,ev);
  288. #endif
  289. }
  290. #define FW_OBufferedSink_parents_GetLength(arg0,arg1) \
  291.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_GetLength(arg0,arg1)
  292.  
  293. /* Overridden method: SetLength */
  294. SOM_Scope void  SOMLINK FW_OBufferedSink__SetLength(FW_OBufferedSink *somSelf, Environment *ev,
  295.         long length);
  296. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBufferedSink_SetLength)(FW_OBufferedSink *somSelf, Environment *ev,
  297.         long length);
  298. inline void  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_SetLength(FW_OBufferedSink *somSelf, Environment *ev,
  299.     long length)
  300. {
  301.   ((somTD_xih_FW_OBufferedSink_SetLength)
  302.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.SetLength))
  303.         (somSelf,ev,length);
  304. #ifdef SOMCHKEXCEPT
  305.   SOMCHKEXCEPT;
  306. #endif
  307. }
  308. #define FW_OBufferedSink_parents_SetLength(arg0,arg1,arg2) \
  309.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_SetLength(arg0,arg1,arg2)
  310.  
  311. /* Overridden method: GetPosition */
  312. SOM_Scope long  SOMLINK FW_OBufferedSink__GetPosition(FW_OBufferedSink *somSelf, Environment *ev);
  313. SOMEXTERN typedef long   (* SOMLINK somTD_xih_FW_OBufferedSink_GetPosition)(FW_OBufferedSink *somSelf, Environment *ev);
  314. inline long  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_GetPosition(FW_OBufferedSink *somSelf, Environment *ev)
  315. {
  316. #ifdef SOMCHKEXCEPT
  317.   long __somRetVal =   ((somTD_xih_FW_OBufferedSink_GetPosition)
  318.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.GetPosition))
  319.         (somSelf,ev);
  320.   SOMCHKEXCEPT;
  321.   return __somRetVal;
  322. #else
  323.   return  ((somTD_xih_FW_OBufferedSink_GetPosition)
  324.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.GetPosition))
  325.         (somSelf,ev);
  326. #endif
  327. }
  328. #define FW_OBufferedSink_parents_GetPosition(arg0,arg1) \
  329.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_GetPosition(arg0,arg1)
  330.  
  331. /* Overridden method: SetPosition */
  332. SOM_Scope void  SOMLINK FW_OBufferedSink__SetPosition(FW_OBufferedSink *somSelf, Environment *ev,
  333.         long position);
  334. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBufferedSink_SetPosition)(FW_OBufferedSink *somSelf, Environment *ev,
  335.         long position);
  336. inline void  SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_SetPosition(FW_OBufferedSink *somSelf, Environment *ev,
  337.     long position)
  338. {
  339.   ((somTD_xih_FW_OBufferedSink_SetPosition)
  340.     somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.SetPosition))
  341.         (somSelf,ev,position);
  342. #ifdef SOMCHKEXCEPT
  343.   SOMCHKEXCEPT;
  344. #endif
  345. }
  346. #define FW_OBufferedSink_parents_SetPosition(arg0,arg1,arg2) \
  347.   (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_SetPosition(arg0,arg1,arg2)
  348.  
  349. /*
  350.  * -- Primary Implementation File Support
  351.  */
  352. #if (defined(FW_OBufferedSink_Class_Source) || defined(SOM_Module_slbufsin_Source))
  353.  
  354. /*
  355.  * -- The FW_OBufferedSink ClassData Structure
  356.  */
  357.  
  358. #if PRAGMA_IMPORT_SUPPORTED
  359. #pragma export list FW_OBufferedSinkClassData
  360. #endif
  361.  
  362.  
  363. /*
  364.  * -- The FW_OBufferedSink Class Ancestor Table
  365.  */
  366. static somClassDataStructure * SOMDLINK FW_OBufferedSinkClassAncestors [] = {
  367.     (somClassDataStructure*) & FW_ORandomAccessSinkClassData,    /* parent */
  368.     (somClassDataStructure*) & SOMObjectClassData,    /* ancestor */
  369.     (somClassDataStructure*) & FW_OSinkClassData,    /* ancestor */
  370. };
  371.  
  372.  
  373. /*
  374.  * -- The FW_OBufferedSink Override ProcPtr Implementations Table
  375.  */
  376. static somMethodPtr FW_OBufferedSinkOverrideProcs [] = {
  377.     (somMethodPtr) FW_OBufferedSink__GetLength,    /* override class FW_ORandomAccessSink */
  378.     (somMethodPtr) FW_OBufferedSink__SetLength,    /* override class FW_ORandomAccessSink */
  379.     (somMethodPtr) FW_OBufferedSink__GetPosition,    /* override class FW_ORandomAccessSink */
  380.     (somMethodPtr) FW_OBufferedSink__SetPosition,    /* override class FW_ORandomAccessSink */
  381.     (somMethodPtr) FW_OBufferedSink__somInit,    /* override class SOMObject */
  382.     (somMethodPtr) FW_OBufferedSink__somUninit,    /* override class SOMObject */
  383.     (somMethodPtr) FW_OBufferedSink__GetReadableBytes,    /* override class FW_OSink */
  384.     (somMethodPtr) FW_OBufferedSink__Read,    /* override class FW_OSink */
  385.     (somMethodPtr) FW_OBufferedSink__GetWritableBytes,    /* override class FW_OSink */
  386.     (somMethodPtr) FW_OBufferedSink__Write,    /* override class FW_OSink */
  387. };
  388.  
  389.  
  390. static void FW_OBufferedSinkDLLD ( void ) { }
  391.  
  392.  
  393. /*
  394.  * -- The FW_OBufferedSink Static Class Info Master Table
  395.  */
  396. static somStaticClassInfo FW_OBufferedSinkSCI = {
  397.       70,    /* layout version */
  398.     (somClassDataStructure*)  & FW_OBufferedSinkClassData,    /* main token table */
  399.       FW_OBufferedSinkOverrideProcs,    /* override proc implemenations table */
  400.       FW_OBufferedSinkClassAncestors,    /* ancestor table */
  401.       FW_OBufferedSinkDLLD,    /* DLLdesignator */
  402.       0,    /* no special procs */
  403.       0,    /* rtci slot */
  404.       0,    /* count slot */
  405.       0,    /* dynamic ancestry */
  406.       0,    /* free */
  407.       0,    /* free */
  408.       0,    /* free */
  409.       0,    /* free */
  410.  
  411. /*
  412.  * -- The FW_OBufferedSink Counts Table
  413.  */
  414.     (somStaticClassCounts *)
  415.         "\x00\x00\x00\x01"    /* majorversion */
  416.         "\x00\x00\x00\x00"    /* minorversion */
  417.         "\x00\x00\x00\x01"    /* flags */
  418.             "\x00\x02"    /* type code alignment */
  419.             "\x00\x03"    /* classTokenCount */
  420.             "\x00\x01"    /* numDirectParents */
  421.             "\x00\x00"    /* numMetaClasses */
  422.             "\x00\x03"    /* numOverriddenAncestors */
  423.             "\x00\x00"    /* numMigratedMethods */
  424.             "\x00\x00"    /* numSelectedInherited */
  425.             "\x00\x00"    /* numUnused */
  426.             "\x00\x00"    /* free */
  427.             "\x00\x00"    /* free */
  428.             "\x00\x00"    /* free */
  429.             "\x00"    /* free */
  430.                 ,
  431.  
  432.     {
  433.       "FW_OBufferedSink",    /* the class name */
  434.       sizeof (FW_OBufferedSinkData), /* class instance data size */
  435.  
  436. /*
  437.  * -- The FW_OBufferedSink Parent Versions Table
  438.  */
  439.     (somParentVersions *)
  440.         "\x00\x00\x00\x01"    /* majorversion */
  441.         "\x00\x00\x00\x00"    /* minorversion */
  442.                 ,
  443.  
  444.  
  445. /*
  446.  * -- The FW_OBufferedSink Token Slot Usage Table
  447.  */
  448.     (somSlotUsage *)
  449.         "\x00",
  450.  
  451.  
  452. /*
  453.  * -- The FW_OBufferedSink Method Signature Info
  454.  */
  455.     (somSignatureInfo *)
  456.         "\x04\x07"    /* InitFromSink */
  457.          "\x02\x0c"    /* GetORandomAccessSink */
  458.          "\x02\x07"    /* Flush */
  459.              ,
  460.  
  461.  
  462. /*
  463.  * -- The FW_OBufferedSink Class Method Names
  464.  */
  465.         "InitFromSink\0"
  466.         "GetORandomAccessSink\0"
  467.         "Flush\0"
  468.             ,
  469.  
  470.  
  471. /*
  472.  * -- The FW_OBufferedSink Override Slots Table
  473.  */
  474.     (somOverrideData *)
  475.         "\x00\x00\x00\x04"    /* parent FW_ORandomAccessSink has 4 overrides */
  476.             "\x00\x00"    /* GetLength */
  477.             "\x00\x01"    /* SetLength */
  478.             "\x00\x02"    /* GetPosition */
  479.             "\x00\x03"    /* SetPosition */
  480.         "\x00\x01\x00\x02"    /* parent SOMObject has 2 overrides */
  481.             "\x00\x00"    /* somInit */
  482.             "\x00\x01"    /* somUninit */
  483.         "\x00\x02\x00\x04"    /* parent FW_OSink has 4 overrides */
  484.             "\x00\x02"    /* GetReadableBytes */
  485.             "\x00\x03"    /* Read */
  486.             "\x00\x04"    /* GetWritableBytes */
  487.             "\x00\x05"    /* Write */
  488.                 ,
  489.  
  490.       0,    /* no migrated methods table */
  491.       0,    /* no selected inherited */
  492.       0,    /* unused */
  493.  
  494.       0,    /* free */
  495.       0,    /* free */
  496.       0,    /* free */
  497.       0,    /* free */
  498.     },
  499. };
  500.  
  501. /*
  502.  * -- The FW_OBufferedSink ClassData Structure
  503.  */
  504. struct FW_OBufferedSinkClassDataStructure SOMDLINK FW_OBufferedSinkClassData = {
  505.       0,            /* zero */
  506.     & FW_OBufferedSinkSCI,        /* SCI link */
  507.       0,            /* instanceDataToken */
  508.       0,            /* reserved */
  509.       0,            /* reserved */
  510.       0,            /* reserved */
  511.     (somMToken) FW_OBufferedSink__InitFromSink,    /* InitFromSink:method */
  512.     (somMToken) FW_OBufferedSink__GetORandomAccessSink,    /* GetORandomAccessSink:method */
  513.     (somMToken) FW_OBufferedSink__Flush,    /* Flush:method */
  514. };
  515.  
  516.  
  517. /*
  518.  * Functions for attributes.
  519.  */
  520.  
  521. /*
  522.  * Macros for initializers/destructors
  523.  */
  524.  
  525. #endif /* Primary Implementation Support */
  526.  
  527. #endif       /* SOM_FW_OBufferedSink_xih */
  528.